; 测试一些关于buffer操作的函数

; 打印当前buffer名
(message (buffer-name))

; 返回当前操作的buffer对象
(get-buffer (buffer-name))

; 当一个变量为全局变量且buffer-local时，在buffer内部操作不影响变量在全局的值
; 定义一个全局变量
(setq lugg/test (buffer-name))
; 定义一个buffer-local变量
(make-local-variable 'lugg/test);仅仅将全局变量在本buffer中buffer-local化
(make-variable-buffer-local 'lugg/test);等同上条语句，区别是值在每个buffer独立
; 测试一个变量是否是局部变量
(local-variable-p 'lugg/test)

; 清除一个buffer-local变量的值
(kill-local-variable 'lugg/test)
; 设置buffer-local变量的值
(setq-local lugg/test "test-local")
(message lugg/test)

; 使变量的值为空
(makunbound lugg/test)
; 访问全局变量的值
(default-value 'lugg/test)

; 访问buffer-local变量的值
(buffer-local-value 'lugg/test (get-buffer (buffer-name)))

; 在指定buffer中执行
(with-current-buffer
    (get-buffer "buffer.el")
  (message lugg/test))
(message
 (default-value 'lugg/test))
